import sympy as sp
from sympy import Function, dsolve

# 定义符号变量
x = sp.symbols('x')

# 定义函数
f = sp.Function('f')

# 一阶微分方程
ode1 = sp.Eq(f(x).diff(x) + f(x), 0)
solution1 = dsolve(ode1, f(x))
print("一阶微分方程解:", solution1) # 一阶微分方程解: Eq(f(x), C1*exp(-x))

# 二阶微分方程
ode2 = sp.Eq(f(x).diff(x, x) + f(x), 0)
solution2 = dsolve(ode2, f(x))
print("二阶微分方程解:", solution2) # 二阶微分方程解: Eq(f(x), C1*sin(x) + C2*cos(x))

# 带初始条件的微分方程
ode3 = sp.Eq(f(x).diff(x, x) + f(x), 0)
ics = {f(0): 1, f(x).diff(x).subs(x, 0): 0}  # 初始条件
solution3 = dsolve(ode3, f(x), ics=ics)
print("带初始条件的解:", solution3)